เส้นทางการเปลี่ยนแปลงจาก struct เป็น ประเภทข้อมูลเชิงนามธรรม (ADT) คือการเปลี่ยนแปลงหลักการการออกแบบอย่างสำคัญ ขณะที่ struct มักเป็นการเก็บรวบรวมตัวแปรอย่างไม่กระตือรือร้น แต่ประเภทข้อมูลเชิงนามธรรม (ADT) เป็นหน่วยงานที่มีชีวิตและจัดการสถานะของตนเองผ่าน การห่อหุ้ม.
1. วัตถุประสงค์ในการออกแบบ
ในภาษาซีพลัส คำสั่ง class ชี้บ่งถึงความมุ่งมั่นในการใช้ การแยกแยะข้อมูล. กลยุทธ์นี้แบ่งแยก อินเทอร์เฟซ (สิ่งที่ผู้ใช้สามารถทำได้) จาก การนำไปปฏิบัติ (วิธีการจัดเก็บข้อมูล) โดยการปกป้องตัวแปรภายใน โปรแกรมเมอร์จะแน่ใจว่าออบเจกต์จะคงความสมดุลภายในของตนเองไว้
2. รายละเอียดเชิงเทคนิค
ในเชิงเทคนิค ความแตกต่างเพียงอย่างเดียวระหว่าง struct กับ class ในภาษาซีพลัส คือ ระดับการเข้าถึงเริ่มต้น. สมาชิกของ struct มี สาธารณะ โดยค่าเริ่มต้น สะท้อนบทบาทของพวกเขาในฐานะผู้เก็บข้อมูลที่เปิดเผย สมาชิกของ class มี ส่วนตัว โดยค่าเริ่มต้น สะท้อนบทบาทของพวกเขาในฐานะหน่วยงานที่ถูกควบคุม
$$\text{ADT} = \text{ข้อมูล} + \text{การดำเนินการ}$$